home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / mail / mh / doc / ADMIN.doc < prev    next >
Text File  |  1993-08-20  |  88KB  |  2,905 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                                             _d_i_s_c_a_r_d _t_h_i_s _p_a_g_e
  10.  
  11.  
  12.  
  13.  
  14.                                                The RAND _M_H
  15.                                              Message Handling
  16.                                                  System:
  17.                                           Administrator's Guide
  18.  
  19.                                                UCI Version
  20.  
  21.  
  22.                                              August 20, 1993
  23.                                               6.8.1 #1[UCI]
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.                                              _1. _I_N_T_R_O_D_U_C_T_I_O_N
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.                  _S_c_o_p_e _o_f _t_h_i_s _d_o_c_u_m_e_n_t
  83.  
  84.                       This is the Administrator's Guide to _M_H.  If you don't maintain  an
  85.                  _M_H  system,  don't read this; the information is entirely too technical.
  86.                  If you are a maintainer, then read this guide until you  understand  it,
  87.                  follow the advice it gives, and then forget about the guide.
  88.  
  89.                       Before continuing, I'll point out two facts:
  90.  
  91.  
  92.  
  93.                            _T_h_i_s _d_o_c_u_m_e_n_t _w_i_l_l _n_e_v_e_r _c_o_n_t_a_i_n _a_l_l _t_h_e _i_n_f_o_r_m_a_t_i_o_n
  94.                                          _y_o_u _n_e_e_d _t_o _m_a_i_n_t_a_i_n _M_H.
  95.  
  96.                          _F_u_r_t_h_e_r_m_o_r_e, _t_h_i_s _d_o_c_u_m_e_n_t _w_i_l_l _n_e_v_e_r _c_o_n_t_a_i_n _e_v_e_r_y_t_h_i_n_g
  97.                                        _I _k_n_o_w _a_b_o_u_t _m_a_i_n_t_a_i_n_i_n_g _M_H.
  98.  
  99.  
  100.  
  101.                  _M_H, and mailsystems in general, are more complex than most people  real-
  102.                  ize.   A  combination of experience, intuition, and tenacity is required
  103.                  to maintain _M_H properly.  This document can provide only guidelines  for
  104.                  bringing  up  an  _M_H  system  and maintaining it.  There is a sufficient
  105.                  amount of customization possible that not all events or problems can  be
  106.                  forseen.
  107.  
  108.  
  109.  
  110.                  _S_u_m_m_a_r_y
  111.  
  112.                       During _M_H generation, you specify several  configuration  constants
  113.                  to  the _m_h_c_o_n_f_i_g program.  These directives take into consideration such
  114.                  issues as hardware and operating system dependencies in the source code.
  115.                  They also factor out some major mailsystem administrative decisions that
  116.                  are likely to be made consistantly at sites with  more  than  one  host.
  117.                  The  manual  entry  _m_h-_g_e_n (8)  describes  all  the static configuration
  118.                  directives.
  119.  
  120.                       However,  when  you  install  _M_H  you  may  wish   to   make   some
  121.                  site-specific  or  host-specific  changes  which aren't hardware or even
  122.                  software related.  Rather, they are  administrative  decisions.   That's
  123.                  what  this  guide is for: it describes all of the dynamically tailorable
  124.                  directives.
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.                                                    -2-
  138.  
  139.  
  140.                       Usually,  after  installing   _M_H,   you'll   want   to   edit   the
  141.                  /usr/local/lib/mh-6.8/mtstailor  file.   This file fine-tunes the way _M_H
  142.                  interacts with the message transport  system  (MTS).   Section  2  talks
  143.                  about the MTS interface and MTS tailoring.
  144.  
  145.                       After that, if you're running the UCI BBoards facility, or the  POP
  146.                  facility, you'll need to know how to maintain those systems.  Sections 3
  147.                  and 4 talk about these.
  148.  
  149.                       If for some reason you're not running an MTS that can  handle  both
  150.                  Internet  and _U_U_C_P traffic, you should read-up on mail filtering in Sec-
  151.                  tion 5.  Although this is considered "old technology" now,  the  mechan-
  152.                  isms  described  in Section 5 were really quite useful when first intro-
  153.                  duced way back in 1981.
  154.  
  155.                       Finally, you may want to know how to modify  the  _M_H  source  tree.
  156.                  Section 6 talks (a little bit) about that.
  157.  
  158.                       The last two sections describe a few hidden features in _M_H, and the
  159.                  configuration options that were in effect when this guide was generated.
  160.  
  161.                       After _M_H is installed, you should define the  address  "Bug-MH"  to
  162.                  map to either you or the _P_o_s_t_M_a_s_t_e_r at your site.
  163.  
  164.                       In addition, if you want to tailor  the  behavior  of  _M_H  for  new
  165.                  users,   you   can   create   and   edit   the  file  /usr/local/lib/mh-
  166.                  6.8/mh.profile.  When the _i_n_s_t_a_l_l-_m_h program is run for a user, if  this
  167.                  file exists, it will copy it into the user's .mh_profile file.
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.                                            _2. _T_H_E _M_T_S _I_N_T_E_R_F_A_C_E
  207.  
  208.  
  209.  
  210.  
  211.  
  212.                       The   file   /usr/local/lib/mh-6.8/mtstailor   customizes   certain
  213.                  host-specific  parameters  of  _M_H related primarily to interactions with
  214.                  the  transport  system.   The  parameters  in  this  file  override  the
  215.                  compiled-in  defaults given during _M_H configuration.  Rather than recom-
  216.                  piling _M_H on each host to make minor customizations, it is easier simply
  217.                  to  modify  the  mtstailor file.  All hosts at a given site normally use
  218.                  the same mtstailor file, though this need not be the case.
  219.  
  220.                       It is a good idea to run  the  _c_o_n_f_l_i_c_t (8)  program  each  morning
  221.                  under _c_r_o_n.  The following line usually suffices:
  222.  
  223.                       00 05 * * * /usr/local/lib/mh-6.8/conflict -mail PostMaster
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.                                               -3-
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.             MH-TAILOR(5)                      -4-                       MH-TAILOR(5)
  270.  
  271.  
  272.             _N_A_M_E
  273.                  mh-tailor, mtstailor - system customization for MH message handler
  274.  
  275.  
  276.             _S_Y_N_O_P_S_I_S
  277.                  /_u_s_r/_l_o_c_a_l/_l_i_b/_m_h-_6._8/_m_t_s_t_a_i_l_o_r
  278.  
  279.             _D_E_S_C_R_I_P_T_I_O_N
  280.  
  281.                  The file /usr/local/lib/mh-6.8/mtstailor defines  run-time  options
  282.                  for  those  _M_H programs which interact (in some form) with the mes-
  283.                  sage transport system.  At present, these (user) programs are:  _a_p,
  284.                  _c_o_n_f_l_i_c_t, _i_n_c, _m_s_g_c_h_k, _m_s_h, _p_o_s_t, _r_c_v_d_i_s_t, and _r_c_v_p_a_c_k.
  285.  
  286.                  Each option should be given on a  single  line.   Blank  lines  and
  287.                  lines  which  begin  with  `#'  are ignored.  The options available
  288.                  along with default values and a description of their  meanings  are
  289.                  listed below:
  290.  
  291.                  localname:
  292.                       The host name _M_H considers local.  If not  set,  depending  on
  293.                       the  version  of UNIX you're running, _M_H will query the system
  294.                       for this value (e.g., <whoami.h>,  gethostname,  etc.).   This
  295.                       has  no  equivalent  in the _M_H configuration file.  POP client
  296.                       hosts have this value set to the name of the POP service host.
  297.  
  298.                  localdomain:
  299.                       If this is set, a `.' followed by this string will be appended
  300.                       to  your  host name.  This might be useful for sites where the
  301.                       host name returned by the system (e.g.,  <whoami.h>,  gethost-
  302.                       name,  etc.),  is  not  a "fully qualified domain name" (i.e.,
  303.                       does not contain a `.').
  304.  
  305.                  systemname:
  306.                       The name of the local host in the _U_U_C_P "domain".  If not  set,
  307.                       depending on the version of UNIX you're running, _M_H will query
  308.                       the system for this value.  This has no equivalent in  the  _M_H
  309.                       configuration file.
  310.  
  311.                  mmdfldir: /usr/spool/mail
  312.                       The directory where maildrops are kept.  If this is empty, the
  313.                       user's  home  directory  is  used.   This overrides the "mail"
  314.                       field in the _M_H configuration file.
  315.  
  316.                  mmdflfil:
  317.                       The name of the maildrop file in the directory where maildrops
  318.                       are  kept.   If  this is empty, the user's login name is used.
  319.                       This overrides the "mail" field in the _M_H configuration file.
  320.  
  321.                  mmdelim1: \001\001\001\001\n
  322.                       The beginning-of-message delimiter for maildrops.
  323.  
  324.  
  325.             [mh.6]                           MH.6.8                      UCI version
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.             MH-TAILOR(5)                      -5-                       MH-TAILOR(5)
  336.  
  337.  
  338.                  mmdelim2: \001\001\001\001\n
  339.                       The end-of-message delimiter for maildrops.
  340.  
  341.                  mmailid: 0
  342.                       If non-zero, then  support  for  MMailids  in  /etc/passwd  is
  343.                       enabled.   Basically,  the pw_gecos field in the password file
  344.                       is of the form
  345.  
  346.                            My Full Name <mailid>
  347.  
  348.                       The _M_H internal routines that deal with user  and  full  names
  349.                       will return "mailid" and "My Full Name" respectively.
  350.  
  351.                  lockstyle: 0
  352.                       The locking discipline to perform.  A value of  "0"  means  to
  353.                       use  kernel-level  locking  if available.  (See below for more
  354.                       details.) On systems compiled  without  kernel-level  locking,
  355.                       standard  _B_e_l_l_M_a_i_l  locking  is used.  A value of "1" means to
  356.                       use _B_e_l_l_M_a_i_l locking always (the name of the lock is based  on
  357.                       the  file  name).   A  value  of "2" means to use _M_M_D_F locking
  358.                       always (the name of the lock is based on device/inode pairs).
  359.  
  360.                  lockldir:
  361.                       The name of the directory for making locks.   If  your  system
  362.                       isn't configured to use kernel-level locking, then this direc-
  363.                       tory is used when creating locks.  If the value is empty, then
  364.                       the directory of the file to be locked is used.
  365.  
  366.                  maildelivery: /usr/local/lib/mh-6.8/maildelivery
  367.                       The name of the system-wide default ._m_a_i_l_d_e_l_i_v_e_r_y  file.   See
  368.                       _m_h_o_o_k (1) for the details.
  369.  
  370.                  everyone: 200
  371.                       The highest user-id which should NOT receive mail addressed to
  372.                       "everyone".
  373.  
  374.                  noshell:
  375.                       If set, then each user-id greater than "everyone" that  has  a
  376.                       login  shell  equivalent to the given value (e.g., "/bin/csh")
  377.                       indicates that mail for "everyone" should not be sent to them.
  378.                       This is useful for handling admin, dummy, and guest logins.
  379.  
  380.               _M_a_i_l _F_i_l_t_e_r_i_n_g
  381.  
  382.                  These  options  are  only  available  if  you  compiled   _M_H   with
  383.                  "options MF".
  384.  
  385.                  uucpchan: name of _U_U_C_P channel
  386.                       Usually "UUCP".  This has no equivalent in the  _M_H  configura-
  387.                       tion file.
  388.  
  389.                  uucpldir: /usr/spool/mail
  390.  
  391.             [mh.6]                           MH.6.8                      UCI version
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.             MH-TAILOR(5)                      -6-                       MH-TAILOR(5)
  402.  
  403.  
  404.                       The name of the directory where _U_U_C_P maildrops are kept.  This
  405.                       has no equivalent in the _M_H configuration file.
  406.  
  407.                  uucplfil:
  408.                       The name of the maildrop file  in  the  directory  where  _U_U_C_P
  409.                       maildrops  are  kept.  If this is empty, the user's login name
  410.                       is used.  This has no equivalent in the _M_H configuration file.
  411.  
  412.                  umincproc: /usr/local/lib/mh-6.8/uminc
  413.                       The path to the program that filters _U_U_C_P-style  maildrops  to
  414.                       _M_M_D_F-style maildrops.
  415.  
  416.               _S_t_a_n_d-_A_l_o_n_e _D_e_l_i_v_e_r_y
  417.  
  418.                  These options are only available if you compiled _M_H to  use  stand-
  419.                  alone delivery (i.e., "mts: mh").
  420.  
  421.                  mailqdir: /usr/spool/netmail
  422.                       The directory where network mail is queued.
  423.  
  424.                  tmailqdir: /usr/tmp
  425.                       The directory where network mail queue files are built.
  426.  
  427.                  syscpy: 1
  428.                       If ON, unauthorized mail is copied to the overseer.
  429.  
  430.                  overseer: root
  431.                       The user that receives reports of unauthorized mail.
  432.  
  433.                  mailer: root
  434.                       The user acting for the mail system.
  435.  
  436.                  fromtmp: /tmp/rml.f.XXXXXX
  437.                       The _m_k_t_e_m_p template for storing from lines.
  438.  
  439.                  msgtmp: /tmp/rml.m.XXXXXX
  440.                       The _m_k_t_e_m_p template for storing the rest of the message.
  441.  
  442.                  errtmp: /tmp/rml.e.XXXXXX
  443.                       The _m_k_t_e_m_p template for  storing  error  messages  from  other
  444.                       mailers.
  445.  
  446.                  tmpmode: 0600
  447.                       The octal mode which temporary files are set to.
  448.  
  449.                  okhosts: /usr/local/lib/mh-6.8/Rmail.OKHosts
  450.                       A file containing a list of hosts that can send ARPAnet mail.
  451.  
  452.                  okdests: /usr/local/lib/mh-6.8/RMail.OKDests
  453.                       A file containing a list of  hosts  that  can  always  receive
  454.                       mail.
  455.  
  456.  
  457.             [mh.6]                           MH.6.8                      UCI version
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.             MH-TAILOR(5)                      -7-                       MH-TAILOR(5)
  468.  
  469.  
  470.               _T_h_e `/_s_m_t_p' _M_T_S _S_u_f_f_i_x
  471.  
  472.                  These options are only  available  if  you  compiled  _M_H  with  the
  473.                  "/smtp" suffix to your "mts:" configuration.
  474.  
  475.                  hostable: /usr/local/lib/mh-6.8/hosts
  476.                       The exceptions file for /etc/hosts used by _p_o_s_t to try to find
  477.                       official names.  The format of this file is quite simple:
  478.  
  479.                            1. Comments are surrounded by sharp (`#') and newline.
  480.                            2. Words are surrounded by white space.
  481.                            3. The first word on the line is the official name  of  a
  482.                            host.
  483.                            4. All words following the official names are aliases for
  484.                            that host.
  485.  
  486.                  servers: localhost \01localnet
  487.                       A lists of hosts and networks which to look for  SMTP  servers
  488.                       when posting local mail.  It turns out this is a major win for
  489.                       hosts which don't run an message transport system.  The  value
  490.                       of  "servers"  should  be one or more items.  Each item is the
  491.                       name of either a host or a net (in the  latter  case,  precede
  492.                       the  name  of  the  net by a \01).  This list is searched when
  493.                       looking for a smtp server to post mail.  If a host is present,
  494.                       the SMTP port on that host is tried.  If a net is present, the
  495.                       SMTP port on each host in that net is tried.  Note that if you
  496.                       are  running  with  the BIND code, then any networks specified
  497.                       are ignored (sorry, the interface went away under BIND).
  498.  
  499.               _S_e_n_d_M_a_i_l
  500.  
  501.                  This option is only available if you compiled _M_H to use _S_e_n_d_M_a_i_l as
  502.                  your delivery agent (i.e., "mts: sendmail").
  503.  
  504.                  sendmail: /usr/lib/sendmail
  505.                       The pathname to the _s_e_n_d_m_a_i_l program.
  506.  
  507.               _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l
  508.  
  509.                  This option is only available if you compiled _M_H with  POP  support
  510.                  enabled (i.e., "pop: on").
  511.  
  512.                  pophost:
  513.                       The name of the default POP service host.  If this is not set,
  514.                       then _M_H looks in the standard maildrop areas for waiting mail,
  515.                       otherwise the named POP service host is consulted.
  516.  
  517.               _B_B_o_a_r_d_s _D_e_l_i_v_e_r_y
  518.  
  519.                  This  option  is  only  available   if   you   compiled   _M_H   with
  520.                  "bbdelivery: on".
  521.  
  522.  
  523.             [mh.6]                           MH.6.8                      UCI version
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.             MH-TAILOR(5)                      -8-                       MH-TAILOR(5)
  534.  
  535.  
  536.                  bbdomain:
  537.                       The local BBoards domain (a UCI hack).
  538.  
  539.               _B_B_o_a_r_d_s & _T_h_e _P_O_P
  540.  
  541.                  These  options  are  only  available  if  you  compiled   _M_H   with
  542.                  "bboards: pop" and "pop: on".
  543.  
  544.                  popbbhost:
  545.                       The POP service host which also acts as a BBoard server.  This
  546.                       variable should be set on the POP BBoards client host.
  547.  
  548.                  popbbuser:
  549.                       The guest account on the POP/BB service host.  This should  be
  550.                       a  different  login ID than either the POP user or the BBoards
  551.                       user.  (The user-id "ftp" is highly recommended.)  This  vari-
  552.                       able  should be set on both the POP BBoards client and service
  553.                       hosts.
  554.  
  555.                  popbblist: /usr/local/lib/mh-6.8/hosts.popbb
  556.                       A file containing of lists of hosts that are  allowed  to  use
  557.                       the  POP  facility  to access BBoards using the guest account.
  558.                       If this file is not present, then  no  check  is  made.   This
  559.                       variable should be set on the POP BBoards service host.
  560.  
  561.               _B_B_o_a_r_d_s & _T_h_e _N_N_T_P
  562.  
  563.                  This  option  is  only  available   if   you   compiled   _M_H   with
  564.                  "bboards: nntp" and "pop: on".
  565.  
  566.                  nntphost:
  567.                       The host which  provides  the  NNTP  service.   This  variable
  568.                       should be set on the NNTP BBoards client host.
  569.  
  570.               _F_i_l_e _L_o_c_k_i_n_g
  571.  
  572.                  A few words on locking: _M_H has a flexible locking system for making
  573.                  locks  on  files.   There are two mtstailor variables you should be
  574.                  aware of "lockstyle" and "lockldir".  The first controls the method
  575.                  of locking, the second says where lock files should be created.
  576.  
  577.                  The "lockstyle" variable can take on three  values:  0,  1,  2.   A
  578.                  value  of 0 is useful on systems with kernel-level locking.  If you
  579.                  are on a BSD42 system, _M_H assumes you have the _f_l_o_c_k  system  call.
  580.                  On  other systems: define FLOCK if you want to use the _f_l_o_c_k system
  581.                  call; define LOCKF if you want to use the  _l_o_c_k_f  system  call;  or
  582.                  define  FCNTL  if you want to use the _f_c_n_t_l system call for kernel-
  583.                  level locking.  If you haven't configured _M_H  to  use  kernel-level
  584.                  locking,  a  locking  style  of 0 is considered the same as locking
  585.                  style 1.
  586.  
  587.                  A value of 1 or 2 specifies that a file  should  be  created  whose
  588.  
  589.             [mh.6]                           MH.6.8                      UCI version
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.             MH-TAILOR(5)                      -9-                       MH-TAILOR(5)
  600.  
  601.  
  602.                  existence  means "locked" and whose non-existence means "unlocked".
  603.                  A value of 1 says to construct the lockname by appending ".lock" to
  604.                  the  name of the file being locked.  A value of 2 says to construct
  605.                  the lockname by looking at the device and inode numbers of the file
  606.                  being  locked.   If  the "lockldir" variable is not specified, lock
  607.                  files will be created in the directory where the file being  locked
  608.                  resides.   Otherwise,  lock  files will be created in the directory
  609.                  specified by "lockldir".  Prior to installing _M_H,  you  should  see
  610.                  how locking is done at your site, and set the appropriate values.
  611.  
  612.             _F_i_l_e_s
  613.                  /usr/local/lib/mh-6.8/mtstailor         tailor file
  614.  
  615.  
  616.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  617.                  None
  618.  
  619.  
  620.             _S_e_e _A_l_s_o
  621.                  mh-gen(8), mh-mts(8)
  622.  
  623.  
  624.             _D_e_f_a_u_l_t_s
  625.                  As listed above
  626.  
  627.  
  628.             _C_o_n_t_e_x_t
  629.                  None
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.             [mh.6]                           MH.6.8                      UCI version
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.             MH-MTS(8)                         -10-                         MH-MTS(8)
  666.  
  667.  
  668.             _N_A_M_E
  669.                  mh-mts - the MH interface to the message transport system
  670.  
  671.             _S_Y_N_O_P_S_I_S
  672.                  SendMail
  673.  
  674.                  Zmailer
  675.  
  676.                  MMDF (any release)
  677.  
  678.                  stand-alone
  679.  
  680.             _D_E_S_C_R_I_P_T_I_O_N
  681.  
  682.                  _M_H can use a wide range of message  transport  systems  to  deliver
  683.                  mail.   Although the _M_H administrator usually doesn't get to choose
  684.                  which MTS to use (since  it's  already  in  place),  this  document
  685.                  briefly describes the interfaces.
  686.  
  687.                  When communicating with _S_e_n_d_M_a_i_l, _M_H always uses the SMTP  to  post
  688.                  mail.   Depending  on the _M_H configuration, _S_e_n_d_M_a_i_l may be invoked
  689.                  directly (via a _f_o_r_k and an _e_x_e_c), or _M_H may open a TCP/IP  connec-
  690.                  tion to the SMTP server on the localhost.
  691.  
  692.                  When communicating with _z_m_a_i_l_e_r, the _S_e_n_d_M_a_i_l compatibility program
  693.                  is  required  to  be  installed  in /usr/lib.  _M_H communicates with
  694.                  _z_m_a_i_l_e_r  by  using  the  SMTP.   It  does  this  by  invoking   the
  695.                  /usr/lib/sendmail  compatibility  program  directly, with the `-bs'
  696.                  option.
  697.  
  698.                  When communicating with _M_M_D_F, normally _M_H uses the  "mm_"  routines
  699.                  to  post  mail.   However,  depending  on  the _M_H configuration, _M_H
  700.                  instead may open a TCP/IP connection to  the  SMTP  server  on  the
  701.                  localhost.
  702.  
  703.                  When using the stand-alone system (NOT  recommended),  _M_H  delivers
  704.                  local  mail  itself  and queues _U_U_C_P and network mail.  The network
  705.                  mail portion will probably have to be modified to reflect the local
  706.                  host's  tastes,  since there is no well-known practice in this area
  707.                  for all types of UNIX hosts.
  708.  
  709.                  If you are running a UNIX system with TCP/IP networking, then it is
  710.                  felt  that  the best interface is achieved by using either _S_e_n_d_M_a_i_l
  711.                  or _M_M_D_F with the SMTP option.  This gives greater flexibility.   To
  712.                  enable this option you append the /smtp suffix to the mts option in
  713.                  the _M_H configuration.  This yields two primary  advantages:  First,
  714.                  you  don't  have to know where _s_u_b_m_i_t or _S_e_n_d_M_a_i_l live.  This means
  715.                  that _M_H binaries (e.g., _p_o_s_t ) don't have to have this  information
  716.                  hard-coded,  or can run different programs altogether; and, second,
  717.                  you can post mail with the server  on  different  systems,  so  you
  718.                  don't  need either _M_M_D_F or _S_e_n_d_M_a_i_l on your local host.  Big win in
  719.                  conserving cycles and disk space.  Since _M_H supports the notion  of
  720.  
  721.             [mh.6]                           MH.6.8                      UCI version
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.             MH-MTS(8)                         -11-                         MH-MTS(8)
  732.  
  733.  
  734.                  a server search-list in this respect, this approach can be tolerant
  735.                  of faults.  Be sure to set "servers:" as described in  mh-tailor(8)
  736.                  if you use this option.
  737.  
  738.                  There are four disadvantages to using the SMTP option: First,  only
  739.                  UNIX  systems  with TCP/IP are supported.  Second, you need to have
  740.                  an SMTP server running somewhere on any network your local host can
  741.                  reach.   Third, this bypasses any authentication mechanisms in _M_M_D_F
  742.                  or _S_e_n_d_M_a_i_l.  Fourth, the file  /etc/hosts  is  used  for  hostname
  743.                  lookups  (although  there  is  an  exception file).  In response to
  744.                  these disadvantages though: First, there's got to be an SMTP server
  745.                  somewhere around if you're in the Internet or have a local network.
  746.                  Since the server search-list  is  very  general,  a  wide-range  of
  747.                  options are possible.  Second, SMTP should be fixed to have authen-
  748.                  tication mechanisms in it, like POP.  Third, _M_H won't choke on mail
  749.                  to  hosts  whose  official  names  it can't verify, it'll just plug
  750.                  along (and besides if you enable the  BERK  or  DUMB  configuration
  751.                  options, _M_H ignores the hosts file altogether).
  752.  
  753.             _F_i_l_e_s
  754.                  /usr/local/lib/mh-6.8/mtstailor         tailor file
  755.  
  756.  
  757.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  758.                  None
  759.  
  760.  
  761.             _S_e_e _A_l_s_o
  762.                  _M_M_D_F-_I_I: _A _T_e_c_h_n_i_c_a_l _R_e_v_i_e_w, Proceedings, Usenix Summer '84 Confer-
  763.                  ence
  764.                  _S_E_N_D_M_A_I_L -- _A_n _I_n_t_e_r_n_e_t_w_o_r_k _M_a_i_l _R_o_u_t_e_r
  765.                  mh-tailor(8), post(8)
  766.  
  767.  
  768.             _D_e_f_a_u_l_t_s
  769.                  None
  770.  
  771.  
  772.             _C_o_n_t_e_x_t
  773.                  None
  774.  
  775.  
  776.             _B_u_g_s
  777.                  The /usr/local/lib/mh-6.8/mtstailor file ignores the information in
  778.                  the _M_M_D_F-_I_I tailoring file.  It should not.
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.                  [mh.6]                           MH.6.8                      UCI version
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.                                                 _3. _B_B_O_A_R_D_S
  801.  
  802.  
  803.  
  804.  
  805.  
  806.                       The UCI BBoards facility has two aspects: message reading, and mes-
  807.                  sage  delivery.   The configuration directives applicable to BBoards are
  808.                  "bboards: on/off/pop/nntp" and "bbdelivery: on/off".
  809.  
  810.  
  811.                  _B_B_o_a_r_d _D_e_l_i_v_e_r_y
  812.  
  813.                       If you enabled BBoards delivery ("bbdelivery:  on")  during  confi-
  814.                  guration,  then  the initial environment for bboards delivery was set-up
  815.                  during installation.  A BBoard called "system" is established, which  is
  816.                  the BBoard for general discussion.
  817.  
  818.                       To add more BBoards,  become  the  "bboards"  user,  and  edit  the
  819.                  /usr/bboards/BBoards  file.   The file support/bboards/Example is a copy
  820.                  of the /usr/bboards/BBoards file that we use at UCI.   When  you  add  a
  821.                  BBoard,  you  don't  have  to  create  the files associated with it, the
  822.                  BBoards delivery system will do that automatically.
  823.  
  824.                       Private BBoards may be created.   To  add  the  fictitious  private
  825.                  BBoard  "hacks",  add  the appropriate entry to the BBoards file, create
  826.                  the empty file /usr/bboards/hacks.mbox (or whatever), change the mode of
  827.                  this file to 0640, and change the group of the file to be the groupid of
  828.                  the people that you want to be able to read it.  Also be sure to add the
  829.                  "bboards"  user  to  this  group (in /etc/group), so the archives can be
  830.                  owned correctly.
  831.  
  832.                       By using the special INVIS  flag  for  a  BBoard,  special  purpose
  833.                  BBoards  may be set-up which are invisible to the _M_H user.  For example,
  834.                  if a site distributes a BBoard both locally to a number of machines  and
  835.                  to a number of distant machines.  It might be useful to have two distri-
  836.                  bution lists: one for all machines on the list, and the other for  local
  837.                  machines  only.  This is actually very simple to do.  For the main list,
  838.                  put the standard entry of information in the /usr/bboards/BBoards  file,
  839.                  with  the  complete distribution list.  For the local machines list, and
  840.                  add a similar entry to the /usr/bboards/BBoards file.   All  the  fields
  841.                  should  be the same except three: the BBoard name should reflect a local
  842.                  designation (e.g., "l-hacks"), the distribution list should contain only
  843.                  machines at the local site, and the flags field should contain the INVIS
  844.                  flag.  Since the two entries share the same primary and  archive  files,
  845.                  messages  sent to either list are read by local users, while only thoses
  846.                  messages sent to the main list are read by all users.
  847.  
  848.                       Two automatic facilities for dealing with BBoards exist:  automatic
  849.                  archiving and automatic aliasing.  The file support/bboards/crontab con-
  850.                  tains some entries that you should add to your /usr/lib/crontab file  to
  851.                  run  the  specified  programs at times that are convenient for you.  The
  852.  
  853.                                                    -12-
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.                                                    -13-
  864.  
  865.  
  866.                  bboards.daily file is run once a day and generates an alias file for _M_H.
  867.                  By  using  this  file,  users of _M_H can use, for example, "unix-wizards"
  868.                  instead of "unix-wizards@brl-vgr" when they want to send  a  message  to
  869.                  the  "unix-wizards"  discussion  group.   This is a major win, since you
  870.                  just have to know the name of the group,  not  the  address  where  it's
  871.                  located.
  872.  
  873.                       The bboards.weekly file is run once a week and handles old messages
  874.                  (those  received  more than 12 days ago) in the BBoards area.  In short,
  875.                  those BBoards which are marked for automatic archiving will  have  their
  876.                  old messages placed in the /usr/bboards/archive/ area, or have their old
  877.                  messages removed.  Not only does this make BBoards faster to  read,  but
  878.                  it conveniently partitions the new messages from the old messages so you
  879.                  can easily put the old messages on tape and then remove them.  It  turns
  880.                  out that this automatic archiving capability is also a major win.
  881.  
  882.                       At UCI, our policy is to save archived messages on tape (every  two
  883.                  months  or so).  We use a program called _b_b_t_a_r to implement our particu-
  884.                  lar policy.  Since some BBoards are private (see  above),  we  save  the
  885.                  archives  on two tapes: one containing the world-readable archives (this
  886.                  tape is read-only accessible to all users by calling the operator),  and
  887.                  the  other  containing  the  non-world-readable  ones (this tape is kept
  888.                  locked-up somewhere).
  889.  
  890.  
  891.                  _B_B_o_a_r_d_s _w_i_t_h _t_h_e _P_O_P
  892.  
  893.                       If you configured _M_H with "bboards: pop" and "pop: on", then the _M_H
  894.                  user is allowed to read BBoards on a server machine instead of the local
  895.                  host (thus saving disk space).  For completely transparent behavior, the
  896.                  administrator  may  set  certain  variables in the mtstailor file on the
  897.                  client host.  The variable "popbbhost" indicates the host where  BBoards
  898.                  are kept (it doesn't have to be the POP service host, but this host must
  899.                  run both a POP server and the BBoards system).  The variable "popbbuser"
  900.                  indicates  the  guest  account  on this host for BBoards.  This username
  901.                  should not be either the POP user or  the  BBoards  user.   Usually  the
  902.                  anonymous  FTP  user  (ftp)  is  the best choice.  Finally, the variable
  903.                  "popbblist" indicates the name of a file which contains a list of  hosts
  904.                  (one to a line, official host names only) which should be allowed to use
  905.                  the POP facility to access BBoards via the guest account.  (If the  file
  906.                  is not present, then no check is made.)
  907.  
  908.                       The "popbbuser" variable should be set on both the client and  ser-
  909.                  vice host.  The "popbbhost" variable need be set only on the client host
  910.                  (the  value,  of  course,  is  the  name  of  the  service  host).   The
  911.                  "popbblist" variable need be set only on the service host.
  912.  
  913.                       Finally, on the client host, if a POP service host  is  not  expli-
  914.                  citly given by the user (i.e., "popbbhost" is implicitly used), then _b_b_c
  915.                  will explicitly check the local host prior  to  contacting  the  service
  916.                  host.   This  allows  each  POP  client host to have a few local BBoards
  917.                  (e.g., each host could have one called "system"), and then have the  POP
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.                                                    -14-
  930.  
  931.  
  932.                  service host used for all the rest (a site-wide BBoard might be known as
  933.                  "general").
  934.  
  935.  
  936.                  _B_B_o_a_r_d_s _w_i_t_h _t_h_e _N_N_T_P
  937.  
  938.                       If you configured _M_H with "bboards: nntp" and "pop: on",  then  the
  939.                  _M_H  user  is  allowed to read the Network News on a server machine using
  940.                  the standard _b_b_c command.   For  completely  transparent  behavior,  the
  941.                  administrator  may  set the "nntphost" variable in the mtstailor file to
  942.                  indicate the host where the Network News is kept.  The "nntphost"  vari-
  943.                  able  should be set only on the client host Finally, on the client host,
  944.                  if an NNTP service host is not  explicitly  given  by  the  user  (i.e.,
  945.                  "nntphost" is implicitly used), then _b_b_c will explicitly check the local
  946.                  host prior to contacting the service host.  This allows each NNTP client
  947.                  host  to have a few local BBoards (e.g., each host could have one called
  948.                  "system"), and then have the NNTP service host used for to read the Net-
  949.                  work News.
  950.  
  951.                       Reading  BBoards  via  the  POP  and  via  the  NNTP  are  mutually
  952.             exclusive.
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.             BBOARDS(5)                        -15-                        BBOARDS(5)
  996.  
  997.  
  998.             _N_A_M_E
  999.                  BBoards - BBoards database
  1000.  
  1001.             _S_Y_N_O_P_S_I_S
  1002.                  /usr/bboards/BBoards
  1003.  
  1004.             _D_E_S_C_R_I_P_T_I_O_N
  1005.  
  1006.                  The BBoards database contains for each BBoard the following  infor-
  1007.                  mation:
  1008.  
  1009.                  _f_i_e_l_d               _v_a_l_u_e
  1010.                  name                the name of the BBoard
  1011.                  aliases             local aliases for the BBoard
  1012.                                      (separated by commas)
  1013.                  primary file        the .mbox file
  1014.                  encrypted password  leadership password
  1015.                  leaders             local list maintainers (separated by commas)
  1016.                                      usernames from the _p_a_s_s_w_d (5) file,
  1017.                                      or groupnames preceded by `=' from the
  1018.                                      _g_r_o_u_p (5) file
  1019.                  network address     the list address
  1020.                  request address     the list maintainer's address
  1021.                  relay               the host acting as relay for the local domain
  1022.                  distribution sites  (separated by commas)
  1023.                  flags               special flags (see <bboards.h>)
  1024.  
  1025.                  This is an ASCII file.  Each field within each  BBoard's  entry  is
  1026.                  separated from the next by a colon.  Each BBoard entry is separated
  1027.                  from the next by a new-line.  If the password  field  is  null,  no
  1028.                  password  is  demanded;  if  it contains a single asterisk, then no
  1029.                  password is valid.
  1030.  
  1031.                  This file resides in the home directory  of  the  login  "bboards".
  1032.                  Because  of  the  encrypted passwords, it can and does have general
  1033.                  read permission.
  1034.  
  1035.             _F_i_l_e_s
  1036.                  /usr/bboards/BBoards                    BBoards database
  1037.  
  1038.  
  1039.             _S_e_e _A_l_s_o
  1040.                  bbaka(8), bbexp(8), bboards (8), bbtar(8)
  1041.  
  1042.  
  1043.             _B_u_g_s
  1044.                  A binary indexed file format should be available for fast access.
  1045.  
  1046.                  Appropriate precautions must be taken  to  lock  the  file  against
  1047.                  changes  if  it is to be edited with a text editor.  A _v_i_b_b program
  1048.                  is needed.
  1049.  
  1050.  
  1051.             [mh.6]                           MH.6.8                      UCI version
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.             BBOARDS(5)                        -16-                        BBOARDS(5)
  1062.  
  1063.  
  1064.             _N_A_M_E
  1065.                  bbaka - generate an alias list for BBoards
  1066.  
  1067.             _S_Y_N_O_P_S_I_S
  1068.                  /usr/bboards/bbaka [system]
  1069.  
  1070.             _D_E_S_C_R_I_P_T_I_O_N
  1071.  
  1072.                  The _b_b_a_k_a program reads the BBoards database and  produces  on  its
  1073.                  standard output a file suitable for inclusion in either the _M_M_D_F-_I_I
  1074.                  aliases file (if the argument `system' is given).  If the  argument
  1075.                  is  not  given,  then  _b_b_a_k_a produces on its standard output a file
  1076.                  suitable  for  becoming  the   /usr/local/lib/mh-6.8/BBoardsAliases
  1077.                  file.
  1078.  
  1079.             _F_i_l_e_s
  1080.                  /usr/bboards/BBoards                    BBoards database
  1081.                  /usr/local/lib/mh-6.8/BBoardsAliases    BBoards aliases file for _M_H
  1082.  
  1083.  
  1084.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  1085.                  None
  1086.  
  1087.  
  1088.             _S_e_e _A_l_s_o
  1089.                  bboards(5)
  1090.  
  1091.  
  1092.             _D_e_f_a_u_l_t_s
  1093.                  None
  1094.  
  1095.  
  1096.             _C_o_n_t_e_x_t
  1097.                  None
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.             [mh.6]                           MH.6.8                      UCI version
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.             BBEXP(8)                          -17-                          BBEXP(8)
  1128.  
  1129.  
  1130.             _N_A_M_E
  1131.                  bbexp - expunge the BBoards area
  1132.  
  1133.             _S_Y_N_O_P_S_I_S
  1134.                  /usr/bboards/bbexp [-_f_i_r_s_t-_m_e_t_r_i_c] [-_s_e_c_o_n_d-_m_e_t_r_i_c] [bboards ...]
  1135.  
  1136.             _D_E_S_C_R_I_P_T_I_O_N
  1137.  
  1138.                  The _b_b_e_x_p program reads the  BBoards  database  and  calls  _m_s_h  to
  1139.                  archive the named BBoards (or all BBoards if none are specified).
  1140.  
  1141.                  The first-metric (which defaults to 12) gives the age  in  days  of
  1142.                  the  "BB-Posted:" field for messages which should be expunged.  The
  1143.                  second-metric (which defaults to 20) gives the age in days  of  the
  1144.                  "Date:"  field  for messages which should be expunged.  Any message
  1145.                  which meets either metric  will  be  either  archived  or  removed,
  1146.                  depending on what the _B_B_o_a_r_d_s (5) file says.
  1147.  
  1148.             _F_i_l_e_s
  1149.                  /usr/bboards/BBoards                    BBoards database
  1150.  
  1151.  
  1152.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  1153.                  None
  1154.  
  1155.  
  1156.             _S_e_e _A_l_s_o
  1157.                  msh(1), bboards(5)
  1158.  
  1159.  
  1160.             _D_e_f_a_u_l_t_s
  1161.                  None
  1162.  
  1163.  
  1164.             _C_o_n_t_e_x_t
  1165.                  None
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.             [mh.6]                           MH.6.8                      UCI version
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.             BBOARDS(8)                        -18-                        BBOARDS(8)
  1194.  
  1195.  
  1196.             _N_A_M_E
  1197.                  bboards - BBoards channel/mailer
  1198.  
  1199.             _S_Y_N_O_P_S_I_S
  1200.                  /usr/mmdf/chans/bboards fd1 fd2 [y]
  1201.  
  1202.                  /usr/local/lib/mh-6.8/sbboards bboard ...
  1203.  
  1204.                  /usr/local/lib/mh-6.8/sbboards file maildrop directory
  1205.                       bboards.bboard
  1206.  
  1207.             _D_E_S_C_R_I_P_T_I_O_N
  1208.  
  1209.                  For _M_M_D_F, the BBoards channel delivers mail to the BBoards  system.
  1210.                  For  _S_e_n_d_M_a_i_l and stand-alone _M_H, the SBBoards mailer performs this
  1211.                  task.
  1212.  
  1213.                  For each address given, these programs consult the _b_b_o_a_r_d_s (5) file
  1214.                  to  ascertain  information  about  the BBoard named by the address.
  1215.                  The programs then perform local delivery,  if  appropriate.   After
  1216.                  that,  with the exception of _s_b_b_o_a_r_d_s running under stand-alone _M_H,
  1217.                  the programs perform redistribution, if appropriate.
  1218.  
  1219.                  For redistribution, the return address is set  to  be  the  request
  1220.                  address at the local host, so bad addresses down the line return to
  1221.                  the nearest point of  authority.   If  any  failures  occur  during
  1222.                  redistribution,  a  mail  message  is  sent  to  the  local request
  1223.                  address.
  1224.  
  1225.             _F_i_l_e_s
  1226.                  /usr/local/lib/mh-6.8/mtstailor         tailor file
  1227.                  /usr/bboards/BBoards                    BBoards database
  1228.  
  1229.  
  1230.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  1231.                  None
  1232.  
  1233.  
  1234.             _S_e_e _A_l_s_o
  1235.                  bboards(5), bbaka(8)
  1236.  
  1237.  
  1238.             _D_e_f_a_u_l_t_s
  1239.                  None
  1240.  
  1241.  
  1242.             _C_o_n_t_e_x_t
  1243.                  None
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.             [mh.6]                           MH.6.8                      UCI version
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.             BBTAR(8)                          -19-                          BBTAR(8)
  1260.  
  1261.  
  1262.             _N_A_M_E
  1263.                  bbtar - generate the names of archive files to be put to tape
  1264.  
  1265.             _S_Y_N_O_P_S_I_S
  1266.                  /usr/bboards/bbtar [private] [public]
  1267.  
  1268.             _D_E_S_C_R_I_P_T_I_O_N
  1269.  
  1270.                  The _b_b_t_a_r program reads the BBoards database and  produces  on  its
  1271.                  standard  output  the names of BBoards archives which should be put
  1272.                  to tape, for direct use in a _t_a_r (1) command.
  1273.  
  1274.                  If the argument `private' is given, only private BBoards  are  con-
  1275.                  sidered.   If  the  argument `public' is given, only public BBoards
  1276.                  are considered.  This lets  the  BBoards  administrator  write  two
  1277.                  tapes,  one  for  general read-access (the public BBoards), and one
  1278.                  for restricted access.  The default is all BBoards
  1279.  
  1280.                  For example:
  1281.  
  1282.                       cd archive              # change to the archive directory
  1283.                       tar cv `bbtar private`  # save all private BBoard archives
  1284.  
  1285.                  After the archives have  been  saved  to  tape,  they  are  usually
  1286.                  removed.  The archives are then filled again, usually automatically
  1287.                  by cron jobs which run _b_b_e_x_p (8).
  1288.  
  1289.             _F_i_l_e_s
  1290.                  /usr/bboards/BBoards                    BBoards database
  1291.  
  1292.  
  1293.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  1294.                  None
  1295.  
  1296.  
  1297.             _S_e_e _A_l_s_o
  1298.                  bboards(5), bbexp(8)
  1299.  
  1300.  
  1301.             _D_e_f_a_u_l_t_s
  1302.                  None
  1303.  
  1304.  
  1305.             _C_o_n_t_e_x_t
  1306.                  None
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.                  [mh.6]                           MH.6.8                      UCI version
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.                                                   _4. _P_O_P
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.                       For POP (Post Office Protocol) client hosts, you need to  edit  the
  1335.                  /usr/local/lib/mh-6.8/mtstailor  file  to know about two hosts: the SMTP
  1336.                  service host and the POP service host.  Normally, these  are  the  same.
  1337.                  Change  the "localname" field of the mtstailor file of _M_H in the file to
  1338.                  be the name of the POP service host.  This makes replies  to  mail  gen-
  1339.                  erated  on  the POP client host possible, since _M_H will consider use the
  1340.                  hostname of the POP service host as  the  local  hostname  for  outgoing
  1341.                  mail.   Also  set  the value of "pophost" to this value.  This tells _i_n_c
  1342.                  and _m_s_g_c_h_k to use POP instead of looking  for  mail  locally.   Finally,
  1343.                  make  sure  the value of "servers" includes the name of the SMTP service
  1344.                  host.  The recommended value for "servers" is:
  1345.  
  1346.                       servers: SMTP-service-host localhost \01localnet
  1347.  
  1348.                       If you want more information on the Post Office  Protocol  used  by
  1349.                  _M_H,      consult      the      files     support/pop/rfc1081.txt     and
  1350.                  support/pop/rfc1082.txt which describe the _M_H version of the POP: POP3.
  1351.  
  1352.                       For POP service hosts, you need to run  a  daemon,  _p_o_p_d (8).   The
  1353.                  daemon should start at multi-user boot time, so adding the lines:
  1354.  
  1355.                       if [ -f /etc/popd ]; then
  1356.                           /etc/popd & echo -n ' pop'                  >/dev/console
  1357.                       fi
  1358.  
  1359.                  to the /etc/rc.local file is sufficient.
  1360.  
  1361.                       The port assigned to the POP3 protocol is  "110".   For  historical
  1362.                  reasons,  many  sites are using port "109" which is the port assigned to
  1363.                  the "POP" (version 1 and 2) protocol.  The configuration option "POPSER-
  1364.                  VICE"  is  the  name of the port number that _M_H POP will try to use, and
  1365.                  defaults to the name "pop".
  1366.  
  1367.                       To generate _M_H to use newer assigned port number, in your _M_H config
  1368.                  file, add:
  1369.  
  1370.                       options POPSERVICE='"pop3"'
  1371.  
  1372.                  And on both the POP client and service hosts, you  need  to  define  the
  1373.                  port that the POP service uses.  Add the line:
  1374.  
  1375.                       pop3            110/tcp
  1376.  
  1377.                  to the /etc/services file (if it's not already there).
  1378.  
  1379.  
  1380.  
  1381.                                                    -20-
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.                                                    -21-
  1392.  
  1393.  
  1394.                       There are two ways to administer POP: In "naive" mode, each user-id
  1395.                  in  the  _p_a_s_s_w_d (5) file is considered a POP subscriber.  No changes are
  1396.                  required for the mailsystem on the  POP  service  host.   However,  this
  1397.                  method  requires  that each POP subscriber have an entry in the password
  1398.                  file.  The POP server will fetch the user's mail from wherever maildrops
  1399.                  are kept on the POP service host.  This means that if maildrops are kept
  1400.                  in the user's home directory, then each POP subscriber must have a  home
  1401.                  directory.
  1402.  
  1403.                       In "smart" mode (enabled via "DPOP" being given as a  configuration
  1404.                  option),  the  list  of  POP subscribers and the list of login users are
  1405.                  completely separate name spaces.  A separate database (simple file simi-
  1406.                  lar  to  the  _B_B_o_a_r_d_s (5) file) is used to record information about each
  1407.                  POP subscriber.  Unfortunately, the local mailsystem must be changed  to
  1408.                  reflect  this.   This  requires  two changes (both of which are simple):
  1409.                  First, the aliasing  mechanism  is  augmented  so  that  POP  subscriber
  1410.                  addresses are diverted to a special delivery mechanism.  _M_H comes with a
  1411.                  program, _p_o_p_a_k_a (8), which generates the additional  information  to  be
  1412.                  put  in the mailsystem's alias file.  Second, a special POP channel (for
  1413.                  MMDF-II) or POP mailer (for SendMail) performs the actual delivery (_m_h._6
  1414.                  supplies  both).   All  it really does is just place the mail in the POP
  1415.                  spool area.
  1416.  
  1417.                       These two different philosophies are not compatible on the same POP
  1418.                  service  host:  one or the other, but not both may be run.  Clever mail-
  1419.                  system people will note that the POP mechanism is really a special  case
  1420.                  of the more general BBoards mechanism.
  1421.  
  1422.                       In addition,  there  is  one  user-visible  difference,  which  the
  1423.                  administrator  controls  the availability of.  The difference is whether
  1424.                  the POP subscriber must supply a password to the POP server:  The  first
  1425.                  method  uses  the  standard  ARPA  technique of sending a username and a
  1426.                  password.  The appropriate programs (_i_n_c,  _m_s_g_c_h_k,  and  possibly  _b_b_c )
  1427.                  will prompt the user for this information.
  1428.  
  1429.                       The second method (which is enabled via "RPOP"  being  given  as  a
  1430.                  configuration  option)  uses  the Berkeley UNIX reserved port method for
  1431.                  authentication.  This requires that the two  or  three  mentioned  above
  1432.                  programs  be  _s_e_t_u_i_d to root.  (There are no known holes in any of these
  1433.                  programs.)
  1434.  
  1435.                       To add a POP subscriber, for the first method, one  simply  follows
  1436.                  the  usual procedures for adding a new user, which eventually results in
  1437.                  adding a line to the _p_a_s_s_w_d (5) file; for the second  method,  one  must
  1438.                  edit the POP database file (kept in the home directory of the POP user),
  1439.                  and then run the _p_o_p_a_k_a program.  The output of this program  is  placed
  1440.                  in the aliases file for the transport system (e.g., /usr/lib/aliases for
  1441.                  SendMail).
  1442.  
  1443.                       Authentication for POP subscribers differs  depending  on  the  two
  1444.                  methods.   When  the user supplies a password for the POP session: under
  1445.                  the first method, the contents of the  password  field  for  the  user's
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.                                                    -22-
  1458.  
  1459.  
  1460.                  entry  in the _p_a_s_s_w_d (5) is consulted; under the second method, the con-
  1461.                  tents of the password field for the subscriber's entry  in  the  _p_o_p (5)
  1462.                  file is consulted.  (To set this field, the _p_o_p_w_r_d (8) program is used.)
  1463.  
  1464.                       If you are allowing  RPOP,  under  the  first  method,  the  user's
  1465.                  ._r_h_o_s_t_s  file is consulted; under the second method, the contents of the
  1466.                  network address field for the subscriber's entry in the _p_o_p (5) file  is
  1467.                  consulted.
  1468.  
  1469.                       In addition, a third authentication scheme is available.  When  the
  1470.                  APOP configuration option is given, e.g.,
  1471.  
  1472.                       options APOP='"/etc/pop.auth"'
  1473.  
  1474.                  In this case, the server also allows a client to  supply  authentication
  1475.                  credentials  to  provide for origin authentication and reply protection,
  1476.                  but which do not involve sending a password in the clear over  the  net-
  1477.                  work.  A POP authorization DB, having as its name the value of APOP con-
  1478.                  figuration option, is used to keep track of this information.  This file
  1479.                  is  created  and  manipulated  by the _p_o_p_a_u_t_h (8) program.  Because this
  1480.                  file contains secret information, it must be  protected  mode  0600  and
  1481.                  owned  by  the  super-user.  Hence, your first step after installing the
  1482.                  software is to issue
  1483.  
  1484.                       # popauth -init
  1485.  
  1486.             which creates and initalizes the POP authorization DB.
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.             POP(5)                            -23-                            POP(5)
  1524.  
  1525.  
  1526.             _N_A_M_E
  1527.                  POP - POP database of subscribers
  1528.  
  1529.             _S_Y_N_O_P_S_I_S
  1530.                  /usr/spool/pop/POP
  1531.  
  1532.             _D_E_S_C_R_I_P_T_I_O_N
  1533.  
  1534.                  The POP database has exactly the same  format  as  the  _B_B_o_a_r_d_s (5)
  1535.                  database,  although  many  fields are unused.  Currently, only four
  1536.                  fields are examined:
  1537.  
  1538.                  _f_i_e_l_d               _v_a_l_u_e
  1539.                  name                the POP subscriber
  1540.                  primary file        the maildrop for the POP subscriber
  1541.                                      (relative to the POP directory)
  1542.                  encrypted password  the POP subscriber's password
  1543.                  network address     the remote user allowed to RPOP
  1544.  
  1545.                  This is an ASCII file.  Each field  within  each  POP  subscriber's
  1546.                  entry  is  separated from the next by a colon.  Each POP subscriber
  1547.                  is separated from the next by a new-line.  If the password field is
  1548.                  null, then no password is valid.
  1549.  
  1550.                  To add a new POP subscriber, edit the file adding a line such as
  1551.  
  1552.                       mrose::mrose:::::::0
  1553.  
  1554.                  Then, use _p_o_p_w_r_d to set the password for the  POP  subscriber.   If
  1555.                  you wish to allow POP subscribers to access their maildrops without
  1556.                  supplying a password (by using privileged ports), fill-in the  net-
  1557.                  work address field, as in:
  1558.  
  1559.                       mrose::mrose:::mrose@nrtc-isc::::0
  1560.  
  1561.                  which permits "mrose@nrtc-isc" to access the maildrop for  the  POP
  1562.                  subscriber "mrose".  Multiple network addresses may be specified by
  1563.                  separating them with commas, as in:
  1564.  
  1565.                       dave::dave:9X5/m4yWHvhCc::dave@romano.wisc.edu,dave@rsch.wisc.edu::::
  1566.  
  1567.                  To  disable  a  POP subscriber from _r_e_c_e_i_v_i_n_g mail, set the primary
  1568.                  file name to the empty string.  To prevent a  POP  subscriber  from
  1569.                  _p_i_c_k_i_n_g-_u_p mail, set the encrypted password to "*" and set the net-
  1570.                  work address to the empty string.
  1571.  
  1572.                  This file resides in home directory of the login "pop".  Because of
  1573.                  the  encrypted passwords, it can and does have general read permis-
  1574.                  sion.
  1575.  
  1576.             _F_i_l_e_s
  1577.                  /usr/spool/pop/POP                      POP database
  1578.  
  1579.             [mh.6]                           MH.6.8                      UCI version
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.             POP(5)                            -24-                            POP(5)
  1590.  
  1591.  
  1592.             _S_e_e _A_l_s_o
  1593.                  bboards(5), pop(8), popaka(8), popd(8), popwrd(8)
  1594.  
  1595.  
  1596.             _B_u_g_s
  1597.                  A binary indexed file format should be available for fast access.
  1598.  
  1599.                  Appropriate precautions must be taken  to  lock  the  file  against
  1600.                  changes  if it is to be edited with a text editor.  A _v_i_p_o_p program
  1601.                  is needed.
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.             [mh.6]                           MH.6.8                      UCI version
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.             POP(8)                            -25-                            POP(8)
  1656.  
  1657.  
  1658.             _N_A_M_E
  1659.                  pop - POP channel/mailer
  1660.  
  1661.             _S_Y_N_O_P_S_I_S
  1662.                  /usr/mmdf/chans/pop fd1 fd2 [y]
  1663.  
  1664.                  /usr/local/lib/mh-6.8/spop POP-subscriber ...
  1665.  
  1666.             _D_E_S_C_R_I_P_T_I_O_N
  1667.  
  1668.                  For _M_M_D_F-_I_I, the POP channel delivers mail to the  POP  spool  area
  1669.                  for  later  retrieval  by  POP subscribers.  For _S_e_n_d_M_a_i_l, the SPOP
  1670.                  mailer performs this task.
  1671.  
  1672.                  For each address given, these programs consult the _p_o_p (5) file  to
  1673.                  obtain  information  about the POP-subscriber named by the address.
  1674.                  The programs then deliver the message to the  spool  area  for  the
  1675.                  POP-subscriber.
  1676.  
  1677.             _F_i_l_e_s
  1678.                  /usr/local/lib/mh-6.8/mtstailor         tailor file
  1679.                  /usr/spool/pop/POP                      POP database
  1680.  
  1681.  
  1682.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  1683.                  None
  1684.  
  1685.  
  1686.             _S_e_e _A_l_s_o
  1687.                  bboards(5), bbaka(8)
  1688.  
  1689.  
  1690.             _D_e_f_a_u_l_t_s
  1691.                  None
  1692.  
  1693.  
  1694.             _C_o_n_t_e_x_t
  1695.                  None
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.             [mh.6]                           MH.6.8                      UCI version
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.             POPAKA(8)                         -26-                         POPAKA(8)
  1722.  
  1723.  
  1724.             _N_A_M_E
  1725.                  popaka - generate POP entries for SendMail or MMDF-II alias file
  1726.  
  1727.             _S_Y_N_O_P_S_I_S
  1728.                  /usr/local/lib/mh-6.8/popaka
  1729.  
  1730.             _D_E_S_C_R_I_P_T_I_O_N
  1731.  
  1732.                  The _p_o_p_a_k_a program reads the POP database and produces on its stan-
  1733.                  dard  output  a  file  suitable  for  inclusion  in the SendMail or
  1734.                  _M_M_D_F-_I_I aliases file.  The contents of this file  divert  mail  for
  1735.                  POP subscribers to the POP channel.
  1736.  
  1737.             _F_i_l_e_s
  1738.                  /usr/spool/pop/POP                      POP database
  1739.  
  1740.  
  1741.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  1742.                  None
  1743.  
  1744.  
  1745.             _S_e_e _A_l_s_o
  1746.                  pop(5)
  1747.  
  1748.  
  1749.             _D_e_f_a_u_l_t_s
  1750.                  None
  1751.  
  1752.  
  1753.             _C_o_n_t_e_x_t
  1754.                  None
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.             [mh.6]                           MH.6.8                      UCI version
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.             POPAUTH(8)                        -27-                        POPAUTH(8)
  1788.  
  1789.  
  1790.             _N_A_M_E
  1791.                  popauth - manipulate POP authorization DB
  1792.  
  1793.             _S_Y_N_O_P_S_I_S
  1794.                  popauth [-init] [-list] [-user name] [-help]
  1795.  
  1796.             _D_E_S_C_R_I_P_T_I_O_N
  1797.  
  1798.                  The _p_o_p_a_u_t_h program allows a POP-subscriber to  change  the  secret
  1799.                  value  used to generate their authentication credentials.  In addi-
  1800.                  tion, the super-user or master POP user may  use  this  program  to
  1801.                  either  initialize the database or to print public information from
  1802.                  it.  _p_o_p_a_u_t_h is useful only when the APOP configuration  option  is
  1803.                  defined.   (This  configuration  option defines the name of the POP
  1804.                  authorization DB.)
  1805.  
  1806.                  Under normal usage, _p_o_p_a_u_t_h prompts for a new secret, just like the
  1807.                  _p_a_s_s_w_d  program.   It then updates the POP authorization DB accord-
  1808.                  ingly.
  1809.  
  1810.                  With the `-init' switch, the super-user  or  master  POP  user  can
  1811.                  create a new (or zero the existing) POP authorization DB.
  1812.  
  1813.                  With the `-list' switch, the super-user  or  master  POP  user  can
  1814.                  print  out  public  information  about the named subscriber (or all
  1815.                  subscribers).
  1816.  
  1817.             _F_i_l_e_s
  1818.                  /etc/pop.auth.*                         POP authorization DB
  1819.  
  1820.  
  1821.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  1822.                  None
  1823.  
  1824.  
  1825.             _S_e_e _A_l_s_o
  1826.                  popd(8)
  1827.  
  1828.  
  1829.             _D_e_f_a_u_l_t_s
  1830.                  None
  1831.  
  1832.  
  1833.             _C_o_n_t_e_x_t
  1834.                  None
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.             [mh.6]                           MH.6.8                      UCI version
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.             POPD(8)                           -28-                           POPD(8)
  1854.  
  1855.  
  1856.             _N_A_M_E
  1857.                  popd - the POP server
  1858.  
  1859.             _S_Y_N_O_P_S_I_S
  1860.                  /usr/etc/popd [-p portno] (under /etc/rc.local)
  1861.  
  1862.             _D_E_S_C_R_I_P_T_I_O_N
  1863.  
  1864.                  The _p_o_p_d server implements the Post Office Protocol (version 3), as
  1865.                  described in RFC1081 and RFC1082.  Basically, the server listens on
  1866.                  the TCP port named "pop" for connections and enters  the  POP  upon
  1867.                  establishing  a  connection.  The `-p' option overrides the default
  1868.                  TCP port.  If the POP2 configuration option is  defined,  then  the
  1869.                  server also implements version 2 of the protocol.  If the APOP con-
  1870.                  figuration option is defined,  then  the  server  supports  a  non-
  1871.                  standard  mechanism for identity-establishment in which authentica-
  1872.                  tion credentials are used to provide for origin authentication  and
  1873.                  reply  protection,  but  which do not involve sending a password in
  1874.                  the clear over the network.  See _p_o_p_a_u_t_h(8) for more details.
  1875.  
  1876.             _F_i_l_e_s
  1877.                  /usr/spool/pop/POP                      POP database
  1878.  
  1879.  
  1880.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  1881.                  None
  1882.  
  1883.  
  1884.             _S_e_e _A_l_s_o
  1885.                  _P_o_s_t _O_f_f_i_c_e _P_r_o_t_o_c_o_l - _v_e_r_s_i_o_n _3 (aka RFC-1081),
  1886.                  _P_o_s_t _O_f_f_i_c_e  _P_r_o_t_o_c_o_l  -  _v_e_r_s_i_o_n  _3:  _E_x_t_e_n_d_e_d  _s_e_r_v_i_c_e  _o_f_f_e_r_i_n_g_s
  1887.                  (RFC-1082),
  1888.                  pop(5)
  1889.  
  1890.  
  1891.             _D_e_f_a_u_l_t_s
  1892.                  None
  1893.  
  1894.  
  1895.             _C_o_n_t_e_x_t
  1896.                  None
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.             [mh.6]                           MH.6.8                      UCI version
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.             POPD(8)                           -29-                           POPD(8)
  1920.  
  1921.  
  1922.             _H_i_s_t_o_r_y
  1923.                  For historical reasons, the _M_H POP defaults to using the port named
  1924.                  "pop"  (109) instead of its newly assigned port named "pop3" (110).
  1925.                  See the POPSERVICE configuration option for more details.
  1926.  
  1927.                  Previous versions of the server (10/28/84) had the restriction that
  1928.                  the  POP  client  may retrieve messages for login users only.  This
  1929.                  restriction has been lifted, and  true  POB  support  is  available
  1930.                  (sending  mail  to a mailbox on the POP service host which does not
  1931.                  map to a user-id in the password file).
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.             [mh.6]                           MH.6.8                      UCI version
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.             POPWRD(8)                         -30-                         POPWRD(8)
  1986.  
  1987.  
  1988.             _N_A_M_E
  1989.                  popwrd - set password for a POP subscriber
  1990.  
  1991.             _S_Y_N_O_P_S_I_S
  1992.                  /usr/local/lib/mh-6.8/popwrd POP-subscriber
  1993.  
  1994.             _D_E_S_C_R_I_P_T_I_O_N
  1995.  
  1996.                  The _p_o_p_w_r_d program lets the super-user or the master POP user or  a
  1997.                  "leader"  of a POP subscriber change the password field for the POP
  1998.                  subscriber in the POP database.  This program is  very  similar  to
  1999.                  the _p_a_s_s_w_d (1) program.
  2000.  
  2001.                  Since only the super-user and the master POP user  may  change  any
  2002.                  other  fields of the POP database (using an ordinary editor), it is
  2003.                  possible for the system administrator to delegate responsibility to
  2004.                  others to manage groups of POP subscribers.
  2005.  
  2006.             _F_i_l_e_s
  2007.                  /usr/spool/pop/POP                      POP database
  2008.  
  2009.  
  2010.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  2011.                  None
  2012.  
  2013.  
  2014.             _S_e_e _A_l_s_o
  2015.                  pop(5)
  2016.  
  2017.  
  2018.             _D_e_f_a_u_l_t_s
  2019.                  None
  2020.  
  2021.  
  2022.             _C_o_n_t_e_x_t
  2023.                  None
  2024.  
  2025.  
  2026.             _B_u_g_s
  2027.                  Although _p_o_p_w_r_d does locking against other invocations  of  _p_o_p_w_r_d,
  2028.                  editor  locking for the POP database in general is not implemented.
  2029.                  A _v_i_p_o_p program is needed.
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.                  [mh.6]                           MH.6.8                      UCI version
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.                                             _5. _M_A_I_L _F_I_L_T_E_R_I_N_G
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.                       There was a time when users on a UNIX host might have had two mail-
  2061.                  drops:  one  from  _M_M_D_F  and the other from _U_U_C_P.  This was really a bad
  2062.                  problem since it prevented using a single user-interface on all of  your
  2063.                  mail.  Furthermore, if you wanted to send a message to addresses on dif-
  2064.                  ferent mailsystems, you couldn't send just one message.   To  solve  all
  2065.                  these  problems, the notion of _m_a_i_l _f_i_l_t_e_r_i_n_g was developed that allowed
  2066.                  sophisticated munging and relaying between the two pseudo-domains.
  2067.  
  2068.                       _M_H will perform mail filtering, transparently, if given the MF con-
  2069.                  figuration  option.   However,  with  the advent of _S_e_n_d_M_a_i_l and further
  2070.                  maturation of _M_M_D_F, _M_H doesn't really need to  do  this  anymore,  since
  2071.                  these message transport agents handle it.
  2072.  
  2073.                       The mail-filtering stuff is too complicated.  It should be simpler,
  2074.             but, protocol translation really _i_s difficult.
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.                                               -31-
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.             MF(1)                             -32-                             MF(1)
  2118.  
  2119.  
  2120.             _N_A_M_E
  2121.                  muinc, musift, uminc, umsift - mail filters
  2122.  
  2123.             _S_Y_N_O_P_S_I_S
  2124.                  /usr/local/lib/mh-6.8/muinc
  2125.  
  2126.                  /usr/local/lib/mh-6.8/musift [files ...]
  2127.  
  2128.                  /usr/local/lib/mh-6.8/uminc
  2129.  
  2130.                  /usr/local/lib/mh-6.8/umsift [files ...]
  2131.  
  2132.             _D_E_S_C_R_I_P_T_I_O_N
  2133.  
  2134.                  The mail filters are a set of programs that filter  mail  from  one
  2135.                  format  to another.  In particular, _U_U_C_P- and _M_M_D_F-style mail files
  2136.                  are handled.
  2137.  
  2138.                  _m_u_i_n_c filters mail from the user's _M_M_D_F maildrop  into  the  user's
  2139.                  _U_U_C_P  maildrop;  similarly, _u_m_i_n_c filters mail from the user's _U_U_C_P
  2140.                  maildrop into the user's _M_M_D_F maildrop.  These two programs respect
  2141.                  each system's maildrop locking protocols.
  2142.  
  2143.                  _m_u_s_i_f_t filters each file on the command line (or the standard input
  2144.                  if  no  arguments are given), and places the result on the standard
  2145.                  output in _U_U_C_P format.  The files (or standard input) are  expected
  2146.                  to  be  in  _M_M_D_F format.  _u_m_s_i_f_t does the same thing filtering _U_U_C_P
  2147.                  formatted files (or input), and places the _M_M_D_F formatted result on
  2148.                  the  standard  output.  No locking protocols are used by these pro-
  2149.                  grams.
  2150.  
  2151.                  If the files aren't in the expected format, the mail  filters  will
  2152.                  try to recover.  In really bad cases, you may lose big.
  2153.  
  2154.             _F_i_l_e_s
  2155.                  /usr/spool/mail/                        UUCP spool area for maildrops
  2156.                  /usr/spool/mail/$USER                   Location of standard maildrop
  2157.  
  2158.  
  2159.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  2160.                  None
  2161.  
  2162.  
  2163.             _S_e_e _A_l_s_o
  2164.                  _P_r_o_p_o_s_e_d _S_t_a_n_d_a_r_d _f_o_r _M_e_s_s_a_g_e _H_e_a_d_e_r _M_u_n_g_i_n_g (aka RFC-886),
  2165.                  inc(1)
  2166.  
  2167.  
  2168.             _D_e_f_a_u_l_t_s
  2169.  
  2170.  
  2171.             _C_o_n_t_e_x_t
  2172.  
  2173.             [mh.6]                           MH.6.8                      UCI version
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.             MF(1)                             -33-                             MF(1)
  2184.  
  2185.  
  2186.             _B_u_g_s
  2187.                  Numerous; protocol translation is very difficult.
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.             [mh.6]                           MH.6.8                      UCI version
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.             RMAIL(8)                          -34-                          RMAIL(8)
  2250.  
  2251.  
  2252.             _N_A_M_E
  2253.                  rmail - UUCP interface to mail
  2254.  
  2255.             _S_Y_N_O_P_S_I_S
  2256.                  rmail address ...
  2257.  
  2258.             _D_E_S_C_R_I_P_T_I_O_N
  2259.  
  2260.                  _R_m_a_i_l is intended as a replacement for those systems without  _S_e_n_d_-
  2261.                  _M_a_i_l  or  _M_M_D_F.   It  is  normally  invoked by _u_u_x on behalf of the
  2262.                  remote _U_U_C_P site.  For each address, it decides where to  send  it:
  2263.                  either locally, via another _U_U_C_P link, or via the Internet.
  2264.  
  2265.                  _R_m_a_i_l implements a crude access control facility by consulting  the
  2266.                  files Rmail.OkHosts and Rmail.OkDests in the /usr/local/lib/mh-6.8/
  2267.                  directory.  Hosts listed in the former file can  send  messages  to
  2268.                  anywhere  they please.  Hosts listed in the latter file can receive
  2269.                  messages from anywhere.  Note that a host listed in the first  file
  2270.                  is implicitly listed in the second file.
  2271.  
  2272.             _F_i_l_e_s
  2273.                  /usr/local/lib/mh-6.8/mtstailor         tailor file
  2274.                  /usr/local/lib/mh-6.8/Rmail.OkHosts     list of privileged hosts
  2275.                  /usr/local/lib/mh-6.8/Rmail.OkDests     list of privileged destinations
  2276.  
  2277.  
  2278.             _P_r_o_f_i_l_e _C_o_m_p_o_n_e_n_t_s
  2279.                  None
  2280.  
  2281.  
  2282.             _S_e_e _A_l_s_o
  2283.                  mf(1)
  2284.  
  2285.  
  2286.             _D_e_f_a_u_l_t_s
  2287.                  None
  2288.  
  2289.  
  2290.             _C_o_n_t_e_x_t
  2291.                  None
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.                  [mh.6]                           MH.6.8                      UCI version
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.                                               _6. _M_H _H_A_C_K_I_N_G
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.                       Finally, here's a little information on modifying the  _M_H  sources.
  2325.                  A word of advice however:
  2326.  
  2327.  
  2328.                                                   _D_O_N'_T
  2329.  
  2330.  
  2331.  
  2332.                  If you really want new _M_H capabilities, write a  shell  script  instead.
  2333.                  After all, that's what UNIX is all about, isn't it?
  2334.  
  2335.                       Here's the organization of the _M_H source tree.
  2336.  
  2337.                       conf/        configurator tree
  2338.                       config/      compiled configuration constants
  2339.                       dist/        distributor
  2340.                       doc/         manual entries
  2341.                       h/           include files
  2342.                       miscellany/  various sundries
  2343.                       mts/         MTS-specific areas
  2344.                                    mh/        standalone delivery
  2345.                                    mmdf/      MMDF-I, MMDF-II
  2346.                                    sendmail/  SendMail, SMTP
  2347.                       papers/      papers about _M_H
  2348.                       sbr/         subroutines
  2349.                       support/     support programs and files
  2350.                                    bboards/   UCI BBoards facility
  2351.                                    general/   templates
  2352.                                    pop/       POP facility
  2353.                       tma/         Trusted Mail Agent (not present in all distributions)
  2354.                       uip/         programs
  2355.                       zotnet/      MTS-independent areas
  2356.                                    bboards/   UCI BBoards facility
  2357.                                    mf/        Mail Filtering
  2358.                                    mts/       MTS constants
  2359.                                    tws/       date routines
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.                                               -35-
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.             MH-HACK(8)                        -36-                        MH-HACK(8)
  2382.  
  2383.  
  2384.             _N_A_M_E
  2385.                  mh-hack - how to hack MH
  2386.  
  2387.             _S_Y_N_O_P_S_I_S
  2388.                  big hack attack
  2389.  
  2390.             _D_E_S_C_R_I_P_T_I_O_N
  2391.  
  2392.                  This is a description of how one can modify the _M_H system.  The  _M_H
  2393.                  distribution has a lot of complex inter-relations, so before you go
  2394.                  modifying any code, you should read this  and  understand  what  is
  2395.                  going on.
  2396.  
  2397.                  ADDING A NEW PROGRAM
  2398.                       Suppose you want to create a new _M_H command  called  "pickle".
  2399.                       First, create and edit "pickle.c" in the uip/ directory.  Next
  2400.                       edit conf/makefiles/uip to include "pickle".   This  file  has
  2401.                       directions  at  the  end  of it which explain how it should be
  2402.                       modified.  Next, update any documentation  (described  below).
  2403.                       At  this  point  you  can  re-configure _M_H.  See _m_h-_g_e_n(_8) for
  2404.                       instructions on how to do this (basically, you want  "mhconfig
  2405.                       MH").
  2406.  
  2407.                  ADDING A NEW SUBROUTINE
  2408.                       Suppose you want to create a new _M_H routine  called  "pickle".
  2409.                       First, create and edit "pickle.c" in the sbr/ directory.  Next
  2410.                       edit conf/makefiles/sbr to include "pickle".   This  file  has
  2411.                       directions  at  the  end  of it which explain how it should be
  2412.                       modified.  You should modify  config/mh.h  to  define  "pickle
  2413.                       ();".   Similarly,  sbr/llib-lsbr should be modified for _l_i_n_t.
  2414.                       At this point you can re-configure _M_H.
  2415.  
  2416.                  UPDATING DOCUMENTATION
  2417.                       Edit whatever files you want in conf/doc/.  When documenting a
  2418.                       new program, such as "pickle", you should create a manual page
  2419.                       with the name "pickle.rf".  The file conf/doc/template  has  a
  2420.                       manual page template that you can use.  If you are documenting
  2421.                       a new program, then you should also update three other  files:
  2422.                       The  file  conf/doc/mh.rf  should  be  modified to include the
  2423.                       ".NA" section from "pickle.rf".  The file conf/doc/mh-chart.rf
  2424.                       should   be   modified  to  include  the  ".SY"  section  from
  2425.                       "pickle.rf".  Finally, the file conf/doc/MH.rf should be modi-
  2426.                       fied  to  include a ".so pickle.me".  Naturally, none of these
  2427.                       changes will be reflected in the configuration until you actu-
  2428.                       ally run _m_h_c_o_n_f_i_g.
  2429.  
  2430.             _F_i_l_e_s
  2431.                  Too numerous to mention.  Honest.
  2432.  
  2433.  
  2434.             _S_e_e _A_l_s_o
  2435.                  mh-gen(8)
  2436.  
  2437.             [mh.6]                           MH.6.8                      UCI version
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.             MH-HACK(8)                        -37-                        MH-HACK(8)
  2448.  
  2449.  
  2450.             _B_u_g_s
  2451.                  Hacking is an art, but most programmers are butchers, not artists.
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.                  [mh.6]                           MH.6.8                      UCI version
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514.  
  2515.  
  2516.                                             _7. _H_I_D_D_E_N _F_E_A_T_U_R_E_S
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.                       The capabilities discussed here should not be used on a  production
  2523.                  basis,  as they are either experimental, are useful for debugging _M_H, or
  2524.                  are otherwise not recommended.
  2525.  
  2526.  
  2527.  
  2528.                  _D_e_b_u_g _F_a_c_i_l_i_t_i_e_s
  2529.  
  2530.                       The _m_a_r_k command has a `-debug' switch which essentially prints out
  2531.                  all the internal _M_H data structures for the folder you're looking at.
  2532.  
  2533.                       The _p_o_s_t command has a `-debug' switch which  does  everything  but
  2534.                  actually  post  the  message  for you.  Instead of posting the draft, it
  2535.                  sends it to the standard output.  Similarly, _s_e_n_d has a `-debug'  switch
  2536.                  which gets passed to _p_o_s_t.
  2537.  
  2538.                       Some _M_H commands look at envariables to determine debug-mode opera-
  2539.                  tion of certain new facilities.  The current list of envariables is:
  2540.  
  2541.                       MHFDEBUG     OVERHEAD facility
  2542.                       MHLDEBUG     mhl
  2543.                       MHPDEBUG     pick
  2544.                       MHPOPDEBUG   POP transactions
  2545.                       MHVDEBUG     window management transactions
  2546.                       MHWDEBUG     alternate-mailboxes
  2547.  
  2548.  
  2549.  
  2550.                  _F_o_r_w_a_r_d_i_n_g _M_a_i_l
  2551.  
  2552.                       The _f_o_r_w and _m_h_l commands have  two  switches,  `-dashmunging'  and
  2553.                  `-nodashmunging'  which enable or disable the prepending of `- ' in for-
  2554.                  warded messages.  To use `-nodashmunging', you must use  an  _m_h_l  filter
  2555.                  file.
  2556.  
  2557.  
  2558.  
  2559.                  _S_e_n_d
  2560.  
  2561.                       The _s_e_n_d command has two switches, `-unique' and `-nounique', which
  2562.                  are  useful  to certain individuals who, for obscure reasons, do not use
  2563.                  draft-folders.
  2564.  
  2565.                       "Distribution Carbon Copy" addresses may be specified in  the  _D_c_c:
  2566.                  header.  This header is removed before posting the message,and a copy of
  2567.                  the message is distributed  to  each  listed  address.   This  could  be
  2568.  
  2569.                                                    -38-
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.                                                    -39-
  2580.  
  2581.  
  2582.                  considered a form of Blind Carbon Copy which is best used for sending to
  2583.                  an address which would never reply (such as an auto-archiver).
  2584.  
  2585.  
  2586.  
  2587.                  _P_o_s_t_i_n_g _M_a_i_l
  2588.  
  2589.                       If you're running a version of _M_H which talks directly to  an  _S_M_T_P
  2590.                  server  (or  perhaps an advanced _M_M_D_F submit process), there are lots of
  2591.                  interesting switches for your amusement which _s_e_n_d and _p_o_s_t understand:
  2592.                       -mail         Use the _M_A_I_L command (default)
  2593.                       -saml         Use the _S_A_M_L command
  2594.                       -send         Use the _S_E_N_D command
  2595.                       -soml         Use the _S_O_M_L command
  2596.                       -snoop        Watch the _S_M_T_P transaction
  2597.                       -client host  Claim to be "host" when posting mail
  2598.                       -server host  Post mail with "host"
  2599.  
  2600.                       The last switch is to be useful when _M_H resides on  small  worksta-
  2601.                  tions  (or  PC:s) in a network--they can post their outgoing mail with a
  2602.                  local relay, and reduce the load on the local  system.   On  POP  client
  2603.                  hosts,  the  `-server host'  switch is defaulted appropriately using the
  2604.                  SMTP search-list mechanism.  The _w_h_o_m command understands the last three
  2605.                  switches.
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.                                          _8. _C_O_N_F_I_G_U_R_A_T_I_O_N _O_P_T_I_O_N_S
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.                       This manual was generated with the following configuration  options
  2655.                  in effect:
  2656.  
  2657.  
  2658.                  ________________________________________________________________________
  2659.  
  2660.                              Generation Date             August 20, 1993
  2661.                              Primary Directory           /usr/local/mh-6.8/
  2662.                              Secondary Directory         /usr/local/lib/mh-6.8/
  2663.                              Maildrop Location           /usr/spool/mail/$USER
  2664.                              POP Support                 Enabled
  2665.                              BBoards using NNTP          Enabled
  2666.                              Transport System            MMDF-II with SMTP
  2667.                  ________________________________________________________________________
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.                                                    -40-
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713.  
  2714.                                                  _C_O_N_T_E_N_T_S
  2715.  
  2716.  
  2717.  
  2718.  
  2719.                  Section
  2720.  
  2721.                     1.  INTRODUCTION ...............................................    1
  2722.                       Scope of this document .......................................    1
  2723.                       Summary ......................................................    1
  2724.  
  2725.                     2.  THE MTS INTERFACE ..........................................    3
  2726.                          MH-TAILOR .................................................    4
  2727.                          MH-MTS ....................................................   10
  2728.  
  2729.                     3.  BBOARDS ....................................................   12
  2730.                       BBoard Delivery ..............................................   12
  2731.                       BBoards with the POP .........................................   13
  2732.                       BBoards with the NNTP ........................................   14
  2733.                          BBOARDS ...................................................   15
  2734.                          BBAKA .....................................................   16
  2735.                          BBEXP .....................................................   17
  2736.                          BBOARDS ...................................................   18
  2737.                          BBTAR .....................................................   19
  2738.  
  2739.                     4.  POP ........................................................   20
  2740.                          POP .......................................................   23
  2741.                          POP .......................................................   25
  2742.                          POPAKA ....................................................   26
  2743.                          POPAUTH ...................................................   27
  2744.                          POPD ......................................................   28
  2745.                          POPWRD ....................................................   30
  2746.  
  2747.                     5.  MAIL FILTERING .............................................   31
  2748.                          MF ........................................................   32
  2749.                          RMAIL .....................................................   34
  2750.  
  2751.                     6.  MH HACKING .................................................   35
  2752.                          MH-HACK ...................................................   36
  2753.  
  2754.                     7.  HIDDEN FEATURES ............................................   38
  2755.                       Debug Facilities .............................................   38
  2756.                       Forwarding Mail ..............................................   38
  2757.                       Send .........................................................   38
  2758.                       Posting Mail .................................................   39
  2759.  
  2760.                     8.  CONFIGURATION OPTIONS ......................................   40
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.  
  2779.  
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.                                          THE RAND MH
  2793.  
  2794.  
  2795.                                       MESSAGE HANDLING
  2796.  
  2797.  
  2798.                                            SYSTEM:
  2799.  
  2800.  
  2801.                                     ADMINISTRATOR'S GUIDE
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.                                          UCI Version
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.                                       Marshall T. Rose
  2815.  
  2816.  
  2817.  
  2818.  
  2819.                                        _F_i_r_s_t _E_d_i_t_i_o_n:
  2820.  
  2821.                                          _M_H _C_l_a_s_s_i_c
  2822.  
  2823.                       (_N_o_t _t_o _b_e _c_o_n_f_u_s_e_d _w_i_t_h _a _w_e_l_l-_k_n_o_w_n _s_o_f_t _d_r_i_n_k)
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.                                        August 20, 1993
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.                                         6.8.1 #1[UCI]
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.